Skip to content

Bump html-to-markdown-rs from 3.2.6 to 3.3.3#121

Closed
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/cargo/html-to-markdown-rs-3.3.3
Closed

Bump html-to-markdown-rs from 3.2.6 to 3.3.3#121
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/cargo/html-to-markdown-rs-3.3.3

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github Apr 23, 2026

Bumps html-to-markdown-rs from 3.2.6 to 3.3.3.

Release notes

Sourced from html-to-markdown-rs's releases.

v3.3.3

Fixed

  • Python enum KeyError (#324) — ConversionOptions() with default enums no longer crashes; PyO3 enum fields are passed directly instead of broken str() + map lookup.
  • Ruby Magnus binding — fixed 65 compilation errors: funcall API, visitor bridge args, Vec conversion, optional flattening, sanitized field serde round-trip.
  • Elixir .formatter.exs — 120-char line length, generated code passes mix format --check-formatted.
  • Unused deps — removed serde_json from Node and WASM binding crates.
  • Checkstyle — excluded test_apps/ from pre-commit checkstyle hook.

Full Changelog: kreuzberg-dev/html-to-markdown@v3.3.2...v3.3.3

v3.3.2

Fixed

  • Elixir visitor bridge — async thread-based visitor protocol (rustler 0.37).
  • Elixir NIF rustler 0.37 — replaced all removed APIs.
  • Elixir type conversions — fixed double-optional wrapping.
  • Elixir formatting — 120-char .formatter.exs.
  • Java checkstylemaven-checkstyle-plugin with 120-char config.
  • Ruby Rakefile — Bundler 4 compatibility.
  • C# VisitResult.Continuenew VisitResult.Continue().
  • Node convert export — restored missing function.

Full Changelog: kreuzberg-dev/html-to-markdown@v3.3.0...v3.3.2

v3.3.0

[3.3.0] - 2026-04-23

Added

  • exclude_selectors option — CSS selector-based element exclusion. Unlike strip_tags (which removes the wrapper but keeps children), excluded elements and all descendants are dropped entirely. Supports any CSS selector: .class, #id, [attribute], compound selectors. Works in both markdown and plain text output modes.
  • CLI flags--preserve-tags, --skip-images, --max-depth for full ConversionOptions parity.
  • Visitor pattern for all bindings (#314, #313) — restored visitor support across Python, TypeScript, Ruby, PHP, Go, Java, C#, Elixir, R, WASM, and C FFI.
  • R visitor support — added visitor callbacks for the R binding.
  • E2E test fixtures — 78 new fixtures for 100% ConversionOptions field coverage (35/35 fields). Added fixtures for exclude_selectors, ConversionResult.tables, and ConversionResult.warnings.
  • Ruby RBS type stubs — auto-generated via alef from the Rust IR, including VERSION constant. Gemspec now includes sig/**/*.
  • Alef pre-commit hookalef-verify hook added to .pre-commit-config.yaml to check generated code freshness. CI installs alef v0.5.3 binary.

Fixed

  • <h1> inside <header> not exported (#321) — top-level <header> elements were unconditionally dropped during preprocessing; now only <header> with navigation hints (e.g. class="site-header", role="navigation") is removed.
  • PreprocessingPreset not wired into preprocessing logic — the preset field on PreprocessingOptions was defined but never checked. Now Minimal/Standard/Aggressive presets have distinct behavior.
  • remove_forms flag was dead code<form> elements are now dropped when remove_forms: true and preset is Standard or Aggressive.
  • Aggressive preset — now drops navigation-hinted elements of any tag type, <noscript> elements, and noise-hinted elements (cookie banners, ad containers).
  • Python NodeContent type — binding wrapper now implements Default, Serialize, Deserialize via forwarding to core type, fixing compilation when DocumentNode (which contains NodeContent) derives these traits.
  • Python dict[str, Any] for data enumsNodeContent, AnnotationKind, VisitResult now use TypedDicts with Literal discriminators instead of untyped dicts.
  • Python __init__.py exports — all public types now exported from the package.
  • ImageMetadata.dimensions — tuple type (u32, u32) correctly maps to Vec<u32> / number[] / []uint32 in all bindings via serde round-trip conversion.
  • FFI doc comments — multi-line doc strings on VTable struct fields now properly prefixed with /// on every line (was breaking cargo fmt).
  • FFI optional parameters — visitor methods with optional string params (title, id, lang) correctly generate Option<&str> instead of &str.

... (truncated)

Changelog

Sourced from html-to-markdown-rs's changelog.

[3.3.3] - 2026-04-23

Fixed

  • Python enum KeyError (#324) — ConversionOptions() with default enums no longer crashes; PyO3 enum fields are passed directly instead of broken str() + map lookup.
  • Ruby Magnus binding — fixed 65 compilation errors: funcall API, visitor bridge args, Vec conversion, optional flattening, sanitized field serde round-trip.
  • Elixir .formatter.exs — 120-char line length, generated code now passes mix format --check-formatted.
  • Unused deps — removed serde_json from Node and WASM binding crates.
  • Checkstyle — excluded test_apps/ from pre-commit checkstyle hook.

[3.3.2] - 2026-04-23

Fixed

  • Elixir visitor bridge — implemented async thread-based visitor protocol using rustler::thread::spawn + OwnedEnv::send_and_clear + mpsc channels, replacing the impossible synchronous env.call() approach.
  • Elixir NIF rustler 0.37 — replaced removed SavedTerm, is_nil(), Pid::spawn_monitor, .encode() APIs with 0.37-compatible equivalents.
  • Elixir type conversions — fixed double-optional wrapping (map(Some)) and ambiguous From impl in generated _from methods.
  • Java checkstyle — added maven-checkstyle-plugin to pom.xml pointing to project checkstyle.xml (120-char limit), so mvn checkstyle:check uses our config instead of default Sun checks.
  • Ruby Rakefile — explicit Bundler::GemHelper.install_tasks name: for Bundler 4 compatibility.

[3.3.1] - 2026-04-23

Fixed

  • Java checkstyle — switched to 120-char line limit, added Spotless auto-formatting with Eclipse JDT formatter, added final params and javadoc to all generated code.
  • Elixir list type collisionNodeContent::List variant no longer redefines Elixir's built-in list/0 type (now emits list_variant).
  • Elixir NIF missing serde — added serde with derive feature as direct dependency to the NIF crate.
  • C# VisitResult.Continue — default visitor methods now use new VisitResult.Continue() instead of non-invocable VisitResult.Continue().
  • Node convert export — restored the missing #[napi] pub fn convert function dropped during binding regeneration.
  • Ruby CI — updated Bundler from 2.7.2 to 4.0.3 to match Gemfile.lock.

[3.3.0] - 2026-04-23

Added

  • exclude_selectors option — CSS selector-based element exclusion. Unlike strip_tags (which removes the wrapper but keeps children), excluded elements and all descendants are dropped entirely. Supports any CSS selector: .class, #id, [attribute], compound selectors. Works in both markdown and plain text output modes.
  • CLI flags--preserve-tags, --skip-images, --max-depth for full ConversionOptions parity.
  • Visitor pattern for all bindings (#314, #313) — restored visitor support across Python, TypeScript, Ruby, PHP, Go, Java, C#, Elixir, R, WASM, and C FFI.
  • R visitor support — added visitor callbacks for the R binding.
  • E2E test fixtures — 78 new fixtures for 100% ConversionOptions field coverage (35/35 fields). Added fixtures for exclude_selectors, ConversionResult.tables, and ConversionResult.warnings.
  • Ruby RBS type stubs — auto-generated via alef from the Rust IR, including VERSION constant. Gemspec now includes sig/**/*.
  • Alef pre-commit hookalef-verify hook added to .pre-commit-config.yaml to check generated code freshness. CI installs alef v0.5.3 binary.

Fixed

  • <h1> inside <header> not exported (#321) — top-level <header> elements were unconditionally dropped during preprocessing; now only <header> with navigation hints (e.g. class="site-header", role="navigation") is removed.
  • PreprocessingPreset not wired into preprocessing logic — the preset field on PreprocessingOptions was defined but never checked. Now Minimal/Standard/Aggressive presets have distinct behavior.
  • remove_forms flag was dead code<form> elements are now dropped when remove_forms: true and preset is Standard or Aggressive.
  • Aggressive preset — now drops navigation-hinted elements of any tag type, <noscript> elements, and noise-hinted elements (cookie banners, ad containers).
  • Python NodeContent type — binding wrapper now implements Default, Serialize, Deserialize via forwarding to core type, fixing compilation when DocumentNode (which contains NodeContent) derives these traits.

... (truncated)

Commits
  • 3134ef5 chore: bump version to v3.3.3
  • e9f16ed fix: remove unused serde_json deps, exclude test_apps from checkstyle, fix #3...
  • cfc6b43 fix: regenerate bindings, 120-char Elixir formatter, Java checkstyle plugin
  • 5b3f3ae fix(elixir): format generated Elixir files
  • a6cdab3 chore: bump version to v3.3.2
  • 7c459ab fix: Rakefile Bundler 4 compat, Elixir NIF rustler 0.37 compat
  • 6a04842 chore: bump version to v3.3.1
  • b728183 fix(python): enable abi3 stable ABI for Python 3.14+ support (#322)
  • fe90b19 chore: bump version to v3.3.0
  • 5868a63 fix: regenerate bindings, resolve all prek hook failures
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [html-to-markdown-rs](https://github.com/kreuzberg-dev/html-to-markdown) from 3.2.6 to 3.3.3.
- [Release notes](https://github.com/kreuzberg-dev/html-to-markdown/releases)
- [Changelog](https://github.com/kreuzberg-dev/html-to-markdown/blob/main/CHANGELOG.md)
- [Commits](kreuzberg-dev/html-to-markdown@v3.2.6...v3.3.3)

---
updated-dependencies:
- dependency-name: html-to-markdown-rs
  dependency-version: 3.3.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Apr 23, 2026
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github Apr 24, 2026

Looks like html-to-markdown-rs is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Apr 24, 2026
@dependabot dependabot Bot deleted the dependabot/cargo/html-to-markdown-rs-3.3.3 branch April 24, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants